#!/bin/bash

# AnyPay服务部署脚本
# 简洁版本，确保Jenkins任务能正常退出

DEPLOY_PATH="/Users/tianyuan02/bera/anypay"
LOG_FILE="$DEPLOY_PATH/deploy.log"

# 日志函数
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}

# 重启服务
restart_service() {
    cd "$DEPLOY_PATH"
    log "开始重启服务..."

    # 停止现有服务
    if [ -f "stop.sh" ]; then
        ./stop.sh >> "$LOG_FILE" 2>&1
    fi

    # 使用screen启动服务（最可靠的方式）
    if command -v screen >/dev/null 2>&1; then
        # 清理旧的screen会话
        screen -S anypay -X quit 2>/dev/null || true
        sleep 2
        # 启动新的screen会话
        screen -dmS anypay bash -c "cd $DEPLOY_PATH && ./start.sh"
        log "服务已在screen会话中启动"
    else
        # 备用方案：增强版nohup
        nohup ./start.sh > start.log 2>&1 < /dev/null &
        log "服务已使用nohup启动"
    fi

    # 验证服务状态
    sleep 5
    if [ -f "check.sh" ]; then
        if ./check.sh >> "$LOG_FILE" 2>&1; then
            log "服务启动成功"
        else
            log "服务启动可能失败，请检查日志"
        fi
    fi
}

# 执行重启
restart_service